Information processing apparatus and decoding control method

ABSTRACT

Moving image stream data recorded on a recording medium includes title key managing data formed of sets of pointer information items indicating respective encipher data sections, and title keys decoding the respective encipher data sections indicated by the pointer information items. A playback apparatus stores the title key managing data recorded on the recording medium in a storage section. The playback apparatus detects change of the pointer information item included in the moving image stream data read from the recording medium. If the pointer information item has been changed, the playback apparatus obtains a title key corresponding to the pointer information item after change from the storage section, and executes decoding of the input moving image stream data by using the obtained title key.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2005-192696, filed Jun. 30, 2005, the entire contents of which are incorporated herein by reference.

BACKGROUND

1. Field

One embodiment of the invention relates to the present invention relates to an information processing apparatus having a function of decoding moving image stream data, and a control method for decoding performed by the same.

2. Description of the Related Art

Generally, in various playback apparatuses which play back image contents recorded on DVDs (Digital Versatile Discs), disc media such as DVDs are subjected to encoding for preventing copy of the moving image stream data recorded on disc media such as DVDs. An encoding method based on a CSS (Content Scramble System) method is mainly adopted for the encipher data sections.

In the CSS method, when moving image stream data recorded on a DVD is played back, the playback apparatuses generate moving image stream data, such as AV (audio video) signals recorded on a disc apparatus, and a decoding key for decoding the moving image stream data. The playback apparatuses read out a decoding key corresponding to an encipher data section, and decode the encipher data section. Thereby, the playback apparatuses play back the moving image stream data.

Recently, recording media such as DVDs may record a plurality of moving image stream data. Therefore, the playback apparatuses are required to prepare respective decoding keys corresponding to the plurality of moving image stream data.

For example, Jpn. Pat. Appln. KOKAI Pub. No. 2005-92830 discloses a computer having a plurality of managing units for managing respective identifiers included in moving image stream data to be played back. In the computer, moving image streams to be played back are sent by switching to a managing unit that manages an identifier corresponding to an identifier included in the moving image streams to be played back, and decoded in the managing unit. Thereby, moving image stream data to be played back is continuously played back while the identifier included in the moving image stream data to be played back does not change.

In the meantime, if a recording medium containing a plurality of moving image streams is played back, moving image streams are played back. Further, in this case, if data for decoding next encoded data to be played back is different from a decoding key used for decoding the moving image stream being played back, the playback apparatus has to temporarily stop playback of the moving image stream data, and prepare a decoding key for decoding the next encoded data to be played back. Therefore, if the decoding key used for encoded data to be decoded is changed while the moving image stream data is played back, the moving image stream data may not be smoothly played back. Further, although in Jpn. Pat. Appln. KOKAI Pub. No. 2005-92830 a plurality of managing units are used by switching for managing respective decoding keys used for decoding, there is the problem that it is required to add a new managing unit every time the identifiers included in the moving image stream data increases. Further, the recording media themselves are required to prepare decoding keys for decoding moving image stream data recorded in the recoding media.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

A general architecture that implements the various feature of the invention will now be described with reference to the drawings. The drawings and the associated descriptions are provided to illustrate embodiments of the invention and not to limit the scope of the invention.

FIG. 1 is a block diagram illustrating an example of a system structure of an information processing apparatus according to an embodiment of the present invention.

FIG. 2 is a diagram illustrating a structure of moving image stream data to be played back by the information processing apparatus of claim 1.

FIG. 3 is a diagram illustrating a structure of title key managing data read from a recording disc by the information processing apparatus of claim 1.

FIG. 4 is a time chart illustrating decoding processing for decoding the moving image stream data, performed by the information processing apparatus of claim 1.

FIG. 5 is a flowchart illustrating an example of steps of the decoding processing for decoding the moving image stream data performed by the information processing apparatus of claim 1.

DETAILED DESCRIPTION

Various embodiments according to the invention will be described hereinafter with reference to the accompanying drawings. In general, according to one embodiment of the invention, an information processing apparatus decoding a stream formed of at least one title, wherein each title includes a pointer information item indicating a type of the title and an encipher data section to be decoded by a decoding key corresponding to the pointer information item, and the apparatus comprises: a storing unit which stores decoding key managing data formed of sets of pointer information items included in the input stream and decoding keys corresponding to the pointer information items; a comparing unit which extracts a pointer information item included in the input stream, and detecting change of the extracted pointer information item; and a decoding unit which obtains a decoding key corresponding to the pointer information item included in the input stream from the stored decoding key managing data, and decodes an encipher data section included in the stream by using the obtained decoding key when the comparing unit determines that the extracted pointer information item is different from the previously extracted pointer information item, the decoding unit decoding the encipher data section included in the stream by using the obtained decoding key when the comparing unit determines that the extracted pointer information item agrees with the previously extracted pointer information item.

First, a structure of an information processing apparatus according to an embodiment of the present invention will be explained with reference to FIG. 1. The information processing apparatus is realized as a playback apparatus 1 that performs read/write processing for recording media such as DVDs (Digital Versatile Disc) and CDs (Compact Disc). Recording media has, for example, moving image stream data such as AV (audio video) signals read by the playback apparatus 1, and decoding key managing data containing decoding keys (hereinafter referred to as “title keys”) for playing back the moving image stream data.

When the playback apparatus reads a recording medium, the playback apparatus 1 first reads decoding key managing data included in the moving image stream data recorded on the recording medium, and stores the read decoding key managing data in, for example, a storage device in the playback apparatus 1. Next, the playback apparatus 1 detects change of pointer information item included in the moving image stream data recorded on the recording medium, obtains a title key corresponding to the detected pointer information item from the decoding key managing data stored in the storage device, and executes decoding of the input moving image stream by using the obtained title key. Further, in the case of detecting no change of the pointer information item included in the moving image stream data recorded on the recording medium, the playback apparatus 1 executes decoding of the input moving image stream data by using the title key obtained in the previous processing.

FIG. 1 illustrates an example of a system structure of the playback apparatus according to an embodiment of the present invention. The playback apparatus 1 comprises a processor 10, encoding/decoding processing section 200, and a storage device 30, and the like. The processor 10 has a function of reading moving image stream data 100 transmitted from a recording medium 7, for example. The moving image stream data 100 recorded on the recording medium 7 is formed of at least one title. Each title is formed of a pointer information item indicating a type of the title, and encoded data that is decoded (deciphered) by a decoding key corresponding to the pointer information item. The moving image stream data 100 also includes title key managing data 101 formed of sets of the pointer information items of the moving image stream data 100 and decoding keys corresponding to the pointer information items.

The processor 10 is a general-purpose apparatus that reads the moving image stream data 100 recorded on the recording medium 7, for example, and plays back the decoded moving image stream data transmitted from the encoding/decoding processing section 200. The processor 10 transmits the title key managing data 101 included in the read moving image stream data 100 to the encoding/decoding processing 200 through, for example, a control bus 5. Further, the processor 10 transmits the read moving image stream data 100 to the encoding/decoding processing section 200 through a bus 3 or the like. Furthermore, the processor 10 determines whether there is next moving image stream data to be transmitted and played back, in response to an interrupt signal transmitted from the encoding/decoding processing section 200. If it determines that there is next moving image stream data to be transmitted and played back, the processor 10 transmits the next moving image stream data to be played back to the encoding/decoding processing section 200.

The encoding/decoding processing section 200 comprises a control circuit 202, an encoding/decoding section 203, a stream interface (I/F) 204, a stream analyzing section 205, a title key control section 206, and a storage section 207, and the like. The control circuit 202 controls the components of the encoding/decoding processing section 200. The control circuit 202 has a function of controlling operation of the encoding/decoding section 203 by a control signal. Further, the control circuit 202 stores the title key managing data 101, input from the processor 10 through the control bus 5, in the storage section 207. The control circuit 202 also has a function of storing the title key managing data 101, input from the processor 10 through the control bus 5, in the storage device 30.

The encoding/decoding section 203 has a function of decoding the moving image stream data 100 input from the stream analyzing section 205, by using the title key set in, for example, a register in the encoding/decoding section 203. The encoding/decoding section 203 transmits the decoded moving image stream data 100 to the stream I/F 204. Further, the encoding/decoding section 203 sets a title key transmitted from the title key control section 206 in place of the title key set in the register of the encoding/decoding section 203. The stream I/F 204 is an interface that transmits the moving image stream data 100, transmitted from the processor 10 through the bus 3, to the stream analyzing section 205. The stream I/F 204 also transmits the decoded moving image stream data input from the encoding/decoding section 203 to the processor 10 through the bus 3. The stream analyzing section 205 detects whether the pointer information item included in the moving image stream data 100 input from the stream I/F 204 has been changed or not, and extracts the detected pointer information item. In the case of detecting change of the pointer information item(the pointer information item is different from the previously extracted pointer information item), the stream analyzing section 205 extracts the detected pointer information item, and transmits the detected pointer information item to the title key control section 206. Further, the stream analyzing section 205 transmits the encipher data section indicated by the extracted pointer information item to the encoding/decoding section 203. The title key control section 206 obtains, from the storage section 207, a title key corresponding to the pointer information item transmitted from the stream analyzing section 205, and transmits the obtained title key to the encoding/decoding section 203. When transmitting a title key to the encoding/decoding section 203, the title key control section 206 also transmits, to the processor 10, an interrupt signal indicating that a title key has been transmitted to the encoding/decoding section 203. The title key control section 206 also has a function of performing communications with the storage device 30. The storage section 207 is a storage medium, such as a nonvolatile memory. The storage section 207 stores the title key managing data 101 transmitted by the control circuit 202. The storage device 30 is selectively provided in the playback apparatus 1. The storage device 30 is a storage medium that stores the title key managing data 101 transmitted by the control circuit 202.

In the playback apparatus 1, if the processor 10 reads moving image stream data 100 from the recording medium 7, the processor 10 executes reading of title key managing data 101 included in the read moving image stream data 100. Then, the processor 10 transmits the read title key managing data 101 to the encoding/decoding processing section 200 through the control bus 5. The encoding/decoding processing section 200 stores the title key managing data 101 transmitted from the processor 10 in the storage section 207, under the control of the control circuit 202. Thereafter, if the stream analyzing section 205 detects change of the pointer information item included in the moving image stream data input from the processor 10, the title key control section 206 obtains a title key corresponding to the new pointer information item after change from the title key managing data 101 stored in the storage section 207, and newly sets the obtained title key in the register of the encoding/decoding section 203. The encoding/decoding section 203 executes decoding of the moving image stream data 100 input from the stream analyzing section 205, by using the newly set title key in the register. If the pointer information item included in the moving image stream data input from the processor 10 is not changed (the pointer information item agrees with the previously extracted pointer information item), the playback apparatus 1 executes decoding of the input moving image stream data 100 by using the title key already set in the register in the encoding/decoding section 203.

FIG. 2 illustrates an example of a structure of the moving image stream data 100. The moving image stream data 100 comprises at least one title (title 1 to title n). Each title is formed of one or more packets, and each packet is formed of a header section and an encipher data section. The header section includes a pointer information item as an identifier for identifying the type of the title.

FIG. 3 illustrates an example of a structure of the title key managing data 101. The title key managing data 101 is formed of sets of pointer information items and title keys corresponding to pointer information items. The pointer information items included in the title key managing data 101 include all the pointer information items included in the moving image stream data 100 recorded on the recording medium 7, and all the decoding keys corresponding to the pointer information items. Specifically, the title key managing data 101 includes all the decoding keys for decoding the encipher data sections included in the moving image stream data 100.

Next, explained is an example of decoding processing of decoding the moving image stream data 100, with reference to the time chart of FIG. 4. In the example of the decoding processing, suppose that the moving image stream data 100 recorded on the recording medium 7 is read, and the title key managing data 101 included in the read moving image stream data 100 is stored in the storage section 207. The processor 10 transmits the moving image stream data 100 formed of title 1 and title 2, etc. from the recording medium 7 to the encoding/decoding section 200 through the bus 3. The title 1 is formed of packets 301 and 302. The title 2 is formed of a packet 303, etc. The header section of each of the packets 301 and 302 includes a pointer information item #0 as an identifier indicating that the packet 301 and the packet 302 belong to the title 1. The header section of the packet 303 includes a pointer information item #1 as an identifier indicating that the packet 303 belongs to the title 2.

The processor 10 transmits the moving image stream data 100 recorded on the recording medium 7 to the encoding/decoding section 200 through the bus 3. The stream analyzing section 205 detects whether the pointer information item of the moving image stream data 100 transmitted through the stream I/F 204 has been changed or not. The stream analyzing section 205 detects that the state of the stream data has changed from the initial state, in which no pointer information item has been detected, to the state of having the pointer information item #0. The stream analyzing section 205 extracts the detected pointer information item #0 from the packet 301, transmits the extracted pointer information item #0 to the title key control section 206, and the data section included in the packet 301 to the encoding/decoding section 203. The title key control section 206 that has received the pointer information item #0 obtains the title key #0 corresponding to the received pointer information item #0 from the title key managing data 101 stored in the storage section 207, and transmits the obtained title key #0 to the encoding/decoding section 203. The encoding/decoding section 203 sets the title key #0 transmitted from the title key control section 206 in the register of the encoding/decoding section 203, and decodes the data section of the packet 301 transmitted from the stream analyzing section 205. The decoded data section of the packet 301 is transmitted to the processor 10 through the stream bus I/F 204. Next, the packet 302 is input to the stream analyzing section 205.

If the detected pointer information item included in the input packet 302 is the same as the pointer information item (pointer information #0) previously detected, the stream analyzing section 205 extracts the pointer information item #0 from the packet 302, and transmits the data section included in the packet 302 to the encoding/decoding section 203. The encoding/decoding section 203 decodes the data section included in the packet 302 transmitted from the stream analyzing section 205, by using the title key that has been used when decoding the data section of the packet 301. Specifically, the encoding/decoding section 203 decodes the data section included in the packet 302, by using the title key #0 corresponding to the previous pointer information item #0 obtained from the packet 301. The decoded data section of the packet 302 is transmitted to the processor 10 through the stream bus I/F 204. Next, the packet 303 is input to the stream analyzing section 205.

If the detected pointer information item (pointer information item #1) included in the input packet 303 has been changed from the pointer information item (pointer information item #0) previously detected, the stream analyzing section 205 extracts the pointer information item #1 from the packet 303, transmits the extracted pointer information item #1 to the title key control section 206, and transmits the data section included in the packet 303 to the encoding/decoding section 203. The title key control section 206 that has received the pointer information item #1 obtains a title key #1 corresponding to the received pointer information item #1 from the title key managing data 101 stored in the storage section 207, and transmits the obtained title key #1 to the encoding/decoding section 203. The encoding/decoding section 203 sets the title key #1 transmitted from the title key control section 206 in place of the title key #0 set in the register of the encoding/decoding section 203. The encoding/decoding section 203 decodes the data section of the packet 303 transmitted from the stream analyzing section 203, by using the title key #1 set in the encoding/decoding section 203.

As described above, if change of the pointer information item included in the moving image stream data is detected, a title key corresponding to the new pointer information item after change is obtained from the storage section 207. Then, the obtained title key is newly set in the register of the encoding/decoding section 203, and decoding of the moving image stream data 100 is executed by using the title key newly set in the register. On the other hand, if no change of the pointer information item included in the moving image stream data 100 is detected, decoding of the input moving image stream data 100 is executed by using the title key previously obtained by the encoding/decoding section 203. The encoding/decoding section 203 executes decoding of the input data section by using the title key held in the register in the encoding/decoding section 203. The encoding/decoding section 203 can seamlessly execute decoding of the input moving image stream data 100, by using the title key corresponding to the pointer information item in accordance with change of the pointer information item included in the moving image stream data.

Next, explained is an example of a process of decoding executed by the playback apparatus 1, with reference to the flowchart of FIG. 5. In the example of decoding, the processor 10 and the encoding/decoding processing section 200 execute decoding in cooperation with each other.

The processor 10 transmits title key managing data 101 included in moving image stream data to be played back to the encoding/decoding processing section 200 (step S101).

The encoding/decoding processing section 200 stores the title key managing data 101 included in the moving image stream data 100 transmitted from the processor 10 in the storage section 207 (step S102). The processor 10 transmits the moving image stream data 100 to be played back to the encoding/decoding processing section 200 (step S103). The encoding/decoding processing section 200 detects a pointer information item of the moving image stream data 100 transmitted from the processor 10 (step S104). The encoding/decoding processing section 200 detects whether the pointer information item has been changed or not (step S105). In step S105, specifically, the stream analyzing section 205 detects the pointer information item of the input moving image stream data, and determine whether the detected pointer information item has been changed from the previous information item. If the pointer information item has been changed (YES of Step S105), the encoding/decoding processing section 200 transmits a title key corresponding to the detected pointer information item from the storage section 207 to the encoding/decoding section 203 (step S106). In step S106, specifically, the stream analyzing section 205 extracts the pointer information item from the input packet, and transmits the extracted pointer information item to the title key control section 206. The title key control section 206 obtains, from the storage section 207, a title key corresponding to the pointer information item transmitted from the stream analyzing section 205, and transmits the obtained title key to the encoding/decoding section 203. The encoding/decoding section 203 sets the title key transmitted from the title key control section 206 in place of the title key stored in the register in the encoding/decoding section 203.

Next, the encoding/decoding section 200 decodes the data section by using the title key set in the encoding/decoding section 203 (step S107). In step S107, specifically, the encoding/decoding section 203 decodes the data section input from the stream analyzing section 205. Next, the encoding/decoding processing section 200 transmits, to the processor 10, an interrupt signal indicating that a title key has been transmitted to the encoding/decoding section 203 (step S108).

The processor 10 determines whether there is next moving image stream data to be transmitted (step S109). If there is the next moving image stream data to be transmitted (YES of step S109), the processor 10 executes the processing of step S103 again.

On the other hand, if no change of the pointer information item is detected (NO of step S105), the encoding/decoding processing section 200 decodes the input data section by using the title key set in the encoding/decoding section 203 (step S110). In step S110, specifically, the title key previously set in the register of the encoding/decoding section 203 is kept set. The encoding/decoding processing section 200 executes decoding of the input data section by using the title key set in the register of the encoding/decoding section 203.

As described above, according to the present invention, title key managing data for decoding moving image stream data recorded on a recording medium in advance is stored in the storage section. This structure eliminates the need for the processing of generating a decoding key that decodes the moving image stream data. This eliminates delay in playback of moving image stream data due to processing of generating a decoding key. Further, if the pointer information item included in the moving image stream data to be played back is changed, decoding is executed by using a title key corresponding to the new pointer information item after change, that is obtained from the stored title key managing data. If no change of the pointer information item included in the moving image stream data to be played back is detected, the input data section is decoded by using the title key already set in the encoding/decoding section 203 without setting a new title key. By virtue of this structure, the playback apparatus 1 can efficiently decode input moving image stream data, and play back the input moving image stream data seamlessly.

Although the above embodiment shows the example where the title key managing data 101 transmitted from the processor 10 is stored in the storage section 207, the title key managing data 101 may be stored in the storage device 30, for example. This structure enables the playback apparatus 1 to store the title key managing data 101 even when the storage section 207 does not have an enough available storage area. If change of the pointer information item in the input moving image stream data is detected, the encoding/decoding processing section 200 can execute decoding of the moving image stream data 100, by using a title key that corresponds to the detected pointer information item and is obtained from the title key managing data 101 stored in the storage device 30.

While certain embodiments of the inventions have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel methods and systems described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the methods and systems described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions. 

1. An information processing apparatus decoding a stream formed of at least one title, each title including a pointer information item indicating a type of the title and an encipher data section to be decoded by a decoding key corresponding to the pointer information item, comprising: a storing unit which stores decoding key managing data formed of sets of pointer information items included in the input stream and decoding keys corresponding to the pointer information items; a comparing unit which extracts a pointer information item included in the input stream, and compares the extracted pointer information item with a previously extracted pointer information item; and a decoding unit which obtains a decoding key corresponding to the pointer information item included in the input stream from the stored decoding key managing data, and decodes an encipher data section included in the stream by using the obtained decoding key when the comparing unit determines that the extracted pointer information item is different from the previously extracted pointer information item, the decoding unit decoding the encipher data section included in the stream by using the obtained decoding key when the comparing unit determines that the extracted pointer information item agrees with the previously extracted pointer information item.
 2. An information processing apparatus according to claim 1, wherein the pointer information items included in the decoding key managing data include all the pointer information items included in the input stream and all the decoding keys corresponding to the pointer information items.
 3. An information processing apparatus according to claim 1, wherein the storing unit reads the decoding key managing data included in the input stream before executing the decoding means, and stores the read decoding key managing data.
 4. An information processing apparatus according to claim 1, further comprising: a storage medium selectively provided in the information processing apparatus, wherein the storing unit stores the decoding key managing data included in the input stream in the storage medium, and the decoding unit obtains a decoding key corresponding to the pointer information item included in the input stream from the decoding key managing data stored in the storage medium, and decoding an encipher data section included in the stream by using the obtained decoding key in response to a condition that the extracted pointer information item is different from the previously extracted pointer information item, and decoding the encipher data section included in the stream by using the obtained decoding key in response to a condition that the extracted pointer information item agrees with the previously extracted pointer information item.
 5. An information processing apparatus according to claim 1, wherein the decoding unit obtains a decoding key corresponding to the pointer information item included in the input stream from the stored decoding key managing data, and decoding an encipher data section included in the stream by using the obtained decoding key in place of a decoding key previously obtained, in response to a condition that the extracted pointer information item is different from the previously extracted pointer information item, and decoding the encipher data section included in the stream by using the decoding key previously obtained, in response to a condition that the extracted pointer information item agrees with the previously extracted pointer information item.
 6. A control method for decoding applied to an information processing apparatus decoding a stream formed of at least one title, each title including a pointer information item indicating a type of the title and an encipher data section to be decoded by a decoding key corresponding to the pointer information item, comprising: storing decoding key managing data formed of sets of pointer information items included in the input stream and decoding keys corresponding to the pointer information items; extracting an pointer information item included in the input stream, and comparing the extracted pointer information item with a previously extracted pointer information item; and obtaining a decoding key corresponding to the pointer information item included in the input stream from the stored decoding key managing data, and decoding an encipher data section included in the stream by using the obtained decoding key when it is determined by the comparing that the extracted pointer information item is different from the previously extracted pointer information item, and decoding the encipher data section included in the stream by using the obtained decoding key when it is determined by the comparing that the extracted pointer information item agrees with the previously extracted pointer information item.
 7. A control method for decoding according to claim 6, wherein the pointer information items included in the decoding key managing data include all the pointer information items included in the input stream and all the decoding keys corresponding to the pointer information items.
 8. A control method for decoding according to claim 6, wherein the storing includes reading the decoding key managing data included in the input stream before executing the decoding, and storing the read decoding key managing data.
 9. A control method for decoding according to claim 6, wherein the storing includes storing the decoding key managing data included in the input stream in a storage medium in the information processing apparatus, and the decoding includes obtaining a decoding key corresponding to the pointer information item included in the input stream from the decoding key managing data stored in the storage medium, and decoding an encipher data section included in the stream by using the obtained decoding key in response to a condition that the extracted pointer information item is different from the previously extracted pointer information item, and decoding the encipher data section included in the stream by using the obtained decoding key in response to a condition that the extracted pointer information item agrees with the previously extracted pointer information item.
 10. A control method for decoding according to claim 6, wherein the decoding includes obtaining a decoding key corresponding to the pointer information item included in the input stream from the stored decoding key managing data, and decoding an encipher data section included in the stream by using the obtained decoding key in place of a decoding key previously obtained, in response to a condition that the extracted pointer information item is different from the previously extracted pointer information item, and decoding the encipher data section included in the stream by using the decoding key previously obtained, in response to a condition that the extracted pointer information item agrees with the previously extracted pointer information item. 